package com.ant.collect.service;

import com.ant.collect.common.ResultVo;
import com.ant.collect.dto.UserDto;
import com.ant.collect.dto.UserInfoDto;
import com.ant.collect.handler.AntException;
import com.ant.collect.pojo.Company;
import com.ant.collect.pojo.Menu;
import com.ant.collect.pojo.User;
import com.ant.collect.vo.UserVo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hzd
 * @since 2025-10-23
 */
public interface IUserService extends IService<User> {

    ResultVo queryUserOne(String id);

    Object saveUser(UserDto userInfo);

    Map<String,String>  selectUserPwd(UserInfoDto dto)throws AntException;

    User updateUserById(UserDto userInfo);

    List<UserVo> userlist();

    void reviewUser(Integer id);

    String saveUserMsg(String username, String password);

    Map<String, Object> getUserInfo(int userId);

    void saveRoles(String username, List<String> roles);

    Map<String, Object> queryUserList(UserDto dto);

    Company getUserCompanyId();

    User getUserByIdInfo(Integer uid);

    Map<String, Object> findResetPassword(int userId);

    List<Menu> getPermission(int userId);

    void zipUploades(MultipartFile file);
}
